Image distortion for content security

ABSTRACT

A software module is presented that enables a person to determine the relevance of an electronic document while preventing the person from making a complete copy of the document. In one embodiment, this is accomplished by displaying an image that represents a region of interest and conveys the context of the region of interest within the document while distorting other portions of the document. In one embodiment, the software module is used in conjunction with a search engine to generate an image of a search result document.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to document security and, moreparticularly, to preventing a user from obtaining a complete copy of adocument.

2. Description of the Background Art

It is easier to make a complete copy of information in electronic formthan it is to make a complete copy of information in physical form. Thisfact makes content owners wary of making their electronic informationaccessible by the public. However, content owners desire to providetheir content to users, often for a fee, and would benefit by havingthis information be searchable, in order to assist users in findingcontent that is relevant to their interests and needs. Users of searchengines in particular expect to be able to view the relevant portions ofa document or other content prior to purchasing the content. However,providing users access to the relevant portions typically results ingiving users access to the entire document in a way that allows the userto make a complete copy of the content without paying for it.

Alternatively, it is possible to prohibit users' access to the relevantportions of a document until payment is received. However, in thatsituation, users are unable to see the relevant portions of the documentand thus cannot best judge whether the document satisfies theirinterests or needs and, as a result, are less likely to purchase thecontent. Various other technologies have been developed with the goal ofallowing a user to view a document while preventing the user from makinga copy of it. These technologies include, for example, modifying theuser's browser to disable printing and specifying that an image, ifprinted, should be blank. While many technologies exist, each of themcan be circumvented.

What is needed is a way to allow a user to view an electronic documentwhile preventing the user from making a copy of it.

SUMMARY OF THE INVENTION

A method for generating an image is presented, wherein the imagedisplays a document, and the document is relevant to a search query. Themethod comprises generating a first image portion, the first imageportion containing a region of interest, the region of interest being aportion of the document that is relevant to the search query; generatinga second image portion, the second image portion comprising a secondportion of the document that contains the region of interest, the secondimage portion being distorted; and generating an image comprising thefirst image portion and the second image portion.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an undistorted image of a document.

FIG. 1B illustrates a distorted image of the same document as that shownin FIG. 1A, according to one embodiment of the invention.

FIG. 2A illustrates an image of the same document as that shown in FIG.1A, according to one embodiment of the invention.

FIG. 2B illustrates an image of the same document as that shown in FIG.1A, according to another embodiment of the invention.

FIG. 3 illustrates a block diagram of a general-purpose computing devicefor implementing the invention according to one embodiment.

FIG. 4 illustrates a block diagram of a software architecture for asystem according to one embodiment of the invention.

FIG. 5 illustrates a flowchart of a method performed by a main program,according to one embodiment of the invention.

FIG. 6A illustrates an image similar to the image shown in FIG. 2A wherea search term is underlined, according to one embodiment of theinvention.

FIG. 6B illustrates an image similar to the image shown in FIG. 2B wherea search term is underlined, according to one embodiment of theinvention.

The figures depict a preferred embodiment of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Search engine results typically comprise a list of links to electronicdocuments that satisfy a search query. In this disclosure, a “document”is understood to include any textual, graphical, visual, multimedia, orother type of work for which a visual representation can be derived andpresented to a user. In order to determine whether a particularelectronic document is relevant to a user's interests or needs, the userviews the document. This is generally performed by clicking on the linkassociated with the document, which causes the document to be displayed.

Although the entire document is usually displayed, a document'srelevancy can frequently be determined based on a portion of thedocument that is relevant to the search terms (a “region of interest”).A ROI can be, for example, a word, a sentence, a paragraph, a table, agraphic, or any other textual, graphical, visual, multimedia, or videoelement or the like, depending on the type of content involved. Whilethe user does not need to see the entire document in order to determinewhether it is relevant, it is useful to know the context of the ROIwithin the document.

One embodiment of the invention enables a person to determine therelevance of an electronic document while preventing the person frommaking a complete copy of the document. In one embodiment, this isaccomplished by displaying an image that represents a ROI and conveysthe context of the ROI within the document while distorting otherportions of the document.

FIG. 1A illustrates an undistorted image of a document. Image 100A is asingle page of a lengthy document, and is exemplary of images shown byconventional imaging tools that are used to display electronicdocuments. If so inclined, a user can copy the entirety of the text (orimage) portions shown and use these copied portions without permissionfrom, or payment to, the owner of the document. Image 100A is derivedfrom a document that can be in, for example, text format, image format,a markup language, a page description language, or other format.

FIG. 1B illustrates a distorted image of the same document as that shownin FIG. 1A, according to one embodiment of the invention. Image 100B maybe created directly from the underlying document, or it may be createdfrom an undistorted image of the underlying document, such as image100A. Using the second option, image 100B is created by distorting theundistorted image 100A. While there are many ways to distort an image,in one embodiment, the image 100A is distorted by using pixelation andalso by decreasing the brightness level of portions of the image thatare outside of a region of interest of the user.

In one embodiment, the user is not shown a complete, undistorted imageof the document and thus is prevented from making a copy of theundistorted document. However, the user is still able to determine therelevance of the document to the user's needs, and thus, for example,whether the user should purchase the document or not. FIG. 2Aillustrates an image of the same document as that shown in FIG. 1A,according to one embodiment of the invention. FIG. 2B illustrates animage of the same document as that shown in FIG. 1A, according toanother embodiment of the invention.

In one embodiment, an image 200 enables a user to determine therelevance of the underlying document by displaying an undistorted imageportion 210 of a first portion of the document and a distorted imageportion 220 of a second portion of the document. In one embodiment, thesecond portion of the document is one page of the document (for example,if the document is a multi-page document). In another embodiment, thesecond portion of the document is an area of the document (for example,if the document is graphical).

In the illustrated embodiments, image 200A comprises image portions 210Aand 220A, and image 200B comprises image portions 210B and 220B. Asillustrated in FIGS. 2A and 2B, the first portions 210A, 220B of thedocuments comprise three partial lines of text, with the first partialline being “This is sample text.” The second portions 220A, 220Bcomprise the remaining contents of the page represented by image 200.

In a preferred embodiment, the first portion of the document is theuser's ROI (i.e., a portion of the document that is relevant to theuser's search terms). The contents of image portion 210, which displaysthe user's ROI, should be readable by a typical user so that the usercan determine whether the ROI is relevant. In one embodiment, imageportion 210 is undistorted, similar to image 100A. In anotherembodiment, image portion 210 is modified to help the user determine therelevance of the document. For example, image portion 210 may indicatethe presence of search terms by displaying these terms with underlining,or outlining, or highlighting. FIG. 6A illustrates an image similar tothe image shown in FIG. 2A where a search term is underlined, accordingto one embodiment of the invention. FIG. 6B illustrates an image similarto the image shown in FIG. 2B where a search term is underlined,according to one embodiment of the invention.

In a preferred embodiment, the second portion of the document is thatwhich corresponds to the page that is represented by image 200. Imageportion 220, which displays the second portion of the document, shouldbe distorted so that its contents are unreadable by a typical user orotherwise degraded to devalue or impair a user's use or copying of them.For example, an image portion 220 can be pixilated, blurred, tinted, orconverted to a lower resolution.

In one embodiment, the relative locations of undistorted image portion210 and distorted image portion 220 within image 200 convey the contextof the ROI within the page of the document that is being displayed. InFIG. 2A, for example, image 200A shows undistorted image portion 210Abeing located “on top of” distorted image portion 220A at a similarplace to where the ROI would be located within the page of the documentthat is being displayed. In contrast, in FIG. 2B, image 200B showsundistorted image portion 210B being located next to distorted imageportion 220B and also shows a “callout” 230 from distorted image portion220B to undistorted image portion 210B.

Embodiments of the invention will now be further described below withreference to FIGS. 3-5. FIG. 3 illustrates a block diagram of ageneral-purpose computing device for implementing the inventionaccording to one embodiment. The computing device 300 preferablyincludes a processor 310, a main memory 320, a data storage device 330,and a network controller 380, all of which are communicatively coupledto a system bus 340. Computing device 300 may be, for example, aworkstation, a desktop computer, a laptop computer, a tablet computer, apersonal digital assistant (PDA), or any other type of computing device.

Processor 310 processes data signals and comprises various computingarchitectures including a complex instruction set computer (CISC)architecture, a reduced instruction set computer (RISC) architecture, oran architecture implementing a combination of instruction sets. Althoughonly a single processor is shown in FIG. 3, multiple processors may beincluded.

Main memory 320 stores instructions and/or data that are executed byprocessor 310. The instructions and/or data comprise code for performingany and/or all of the techniques described herein. Main memory 320 ispreferably a dynamic random access memory (DRAM) device, a static randomaccess memory (SRAM) device, or some other memory device known in theart.

Data storage device 330 stores data and instructions for processor 310and comprises one or more devices including a hard disk drive, a floppydisk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device, aDVD-RW device, a flash memory device, or some other mass storage deviceknown in the art.

Network controller 380 links the computing device 300 to a network (notshown).

System bus 340 represents a shared bus for communicating information anddata throughout the computing device 300. System bus 340 represents oneor more buses including an industry standard architecture (ISA) bus, aperipheral component interconnect (PCI) bus, a universal serial bus(USB), or some other bus known in the art to provide similarfunctionality.

Additional components that may be coupled to the computing device 300through system bus 340 include a display device 350, a keyboard 360, anda cursor control device 370. Display device 350 represents any deviceequipped to display electronic images and data to a local user ormaintainer. Display device 350 is a cathode ray tube (CRT), a liquidcrystal display (LCD), or any other similarly equipped display device,screen, or monitor. Keyboard 360 represents an alphanumeric input devicecoupled to computing device 300 to communicate information and commandselections to processor 310. Cursor control device 370 represents a userinput device equipped to communicate positional data as well as commandselections to processor 310. Cursor control device 370 includes a mouse,a trackball, a stylus, a pen, cursor direction keys, or other mechanismsto cause movement of a cursor.

It should be apparent to one skilled in the art that computing device300 includes more or fewer components than those shown in FIG. 3 withoutdeparting from the spirit and scope of the present invention. Forexample, computing device 300 may include additional memory, such as,for example, a first or second level cache or one or more applicationspecific integrated circuits (ASICs). As noted above, computing device300 may be comprised solely of ASICs. In addition, components may becoupled computing device 300 including, for example, image scanningdevices, digital still or video cameras, or other devices that may ormay not be equipped to capture and/or download electronic data to/fromcomputing device 300.

FIG. 4 illustrates a block diagram of a software architecture for asystem according to one embodiment of the invention. Generally, severalcode modules and memory storage areas are stored in the memory 320 forgenerating an image that represents a portion of a document and conveysthe context of that portion within the document. Specifically, the codemodules and memory storage areas include a main program module 400, adocument-to-image conversion module 410, an imagedistortion/modification module 420, an image generation module 430, anda document and image repository module 440. Code modules 400, 410, 420,and 430 and memory storage area 440 are communicatively coupled to eachother.

Main program module 400 transmits instructions and data to as well asreceives data from each code module and memory.

Document-to-image conversion module 410 generates, given an electronicdocument, an image of at least one page of that document. In a typicalembodiment, document-to-image conversion module 410 generates a separateimage for each page of the document that contains one or more of thesearch terms (or conceptually related terms) of the user's query.

In one embodiment, document-to-image conversion module 410 generatesundistorted image 100A. Undistorted image 100A may be cropped to displayonly the user's ROI and then used as undistorted image portion 210.Alternatively, undistorted image 100A may be distorted using imagedistortion/modification module 420 and then used as distorted imageportion 220. In one embodiment, after document-to-image conversionmodule 410 has generated undistorted image 100A, undistorted image 100Ais stored using document and image repository module 440 so thatundistorted image 100A does not have to be generated again.

In an alternative embodiment, document-to-image conversion module 410generates distorted image 100B. Distorted image 100B may be used asdistorted image portion 220. In one embodiment, after document-to-imageconversion module 410 has generated distorted image 100B, distortedimage 100B is stored using document and image repository module 440 sothat distorted image 100B does not have to be generated again. Manydistortion methods may be used. These methods include, for example,pixelation, change of brightness, change of contrast, blurring, andimage filtering. Document-to-image conversion module 410 may use one ormore of these methods to generate distorted image 100B.

Document-to-image conversion module 410 may also generate an image thathas been modified based on the user's search terms (e.g., byhighlighting the search terms within the image). This modified imagecould be either undistorted or distorted. If the modified image isundistorted, it could be cropped to display only the user's ROI and thenused as undistorted image portion 210. If the modified image isdistorted, it could be used as distorted image portion 220. In oneembodiment, a modified image would not be saved because its use islimited to a query containing the same search terms.

Document-to-image conversion module 410 can generate an image in severalways. If the electronic version of the original document is a PDFdocument, for example, document-to-image conversion module 410 can usethe capabilities of PDF software to output the document's contents as animage. If it is a word processing file, document-to-image conversionmodule 410 can print the document's contents to a file (rather than to aprinter) as an image. If it is an image (e.g., a physical document thathas been scanned), document-to-image conversion module 410 can furtherprocess the image as necessary. For example, document-to-imageconversion module 410 can divide the image into several parts and/orreduce the resolution of the image by downsampling. Another possibilityis for document-to-image conversion module 410 to use a softwareconversion program that converts a specific type of electronic file toan image.

Image distortion/modification module 420 generates, given an image, adifferent version of that image. In one embodiment, imagedistortion/modification module 420 generates a distorted version of theimage 100B. As discussed above with reference to document-to-imageconversion module 410, distorted image 100B may then be stored and/orused as distorted image portion 220. Many distortion methods may beused. These methods include, for example, pixelation, change ofbrightness, change of contrast, blurring, and image filtering. Imagedistortion/modification module 420 may use one or more of these methodsto generate distorted image 100B.

In another embodiment, image distortion/modification module 420generates an image that has been modified based on the user's searchterms (e.g., by highlighting the search terms within the image). Thismodified image could be either distorted or undistorted. As discussedabove with reference to document-to-image conversion module 410, thismodified image could be used as distorted image portion 220 or croppedand then used as undistorted image portion 210. In one embodiment, themodified image would not be saved.

Image generation module 430 generates an image 200 that 1) represents aportion of a document (such as a ROI) and 2) conveys the context of thatportion within the document. In one embodiment, image 200 comprisesimage portions 210 and 220. Image portion 210 is used to represent theROI, while image portions 210 and 220 are used to convey the context ofthe ROI by indicating the location of the ROI within the document.

Many types of images 200 can be used to indicate the context of the ROI.One simple example is shown in FIG. 2A. Image 200A is a composite imagecomprising image portions 210A and 220A such that the combination ofimage portions 210A and 220A appears to be a single document. In oneembodiment, image portion 210A is overlaid on image portion 220A suchthat image portion 210A covers the portion of image portion 220A thatcontains the ROI.

In one embodiment, image portion 210A has a similar appearance to imageportion 220A except that image portion 220A is distorted and imageportion 210A is not. In another embodiment, image portion 210A has adifferent appearance from image portion 220A, besides the fact thatimage portion 220A is distorted and image portion 210A is not. Thisdifference in appearance helps distinguish image portion 210A from therest of image 200A and thereby makes it easier for the user to findimage portion 210A within image 200A. For example, the font and/orbackground color of image portion 210A may differ from the font and/orbackground color of image portion 220A. Similarly, image portion 210Amay be outlined, forming a bounding box (e.g., a rectangle) that extendsa minimum distance (e.g., 0.5″) outside of the contents of image portion210A.

Another example of an image that can be used to indicate the context ofthe ROI is shown in FIG. 2B. Image 200B similarly comprises imageportions 210B and 220B, but image 200B does not overlay image portion210B onto image portion 220B. Instead, image 200B places image portion210B outside of image 220B and uses a “callout” 230 from image portion210B to the location of the ROI within distorted image 220B.

In one embodiment, image generation module 430 generates a location mapof the displayed document page showing the location of the ROI. Imagegeneration module 430 then uses this map to generate image 200 such thatimage 200 indicates the context of the ROI. In one embodiment, imagegeneration module 430 determines the location of the ROI based on thelocations of words within the ROI. The locations of these words areobtained by querying document and image repository module 440.

Document and image repository module 440 stores documents and/or images.These images may include, for example, undistorted images 100A of adocument and distorted images 100B of a document. If a document existsin electronic format, the electronic format is stored in document andimage repository module 450. If no electronic format exists, then thedocument is digitized by, for example, scanning the document and/orperforming Optical Character Recognition (OCR) on it. The results arethen stored in document and image repository module 450.

Document and image repository module 440 also stores positions of wordswithin documents and/or images. For example, document and imagerepository module 440 stores, for each word in an image or document, thedimensions of the smallest box that can enclose the word (the word's“bounding box”) and the location of the box in the image or document(e.g., in x,y coordinates). Given a file that contains text, determininga word's bounding box is known to those of ordinary skill in the art. Inone embodiment, if the file is an image file, the image is converted totext by OCR'ing it. As a by-product of the OCR process, the dimensionsand locations of bounding boxes can be determined.

User Scenario

FIG. 5 illustrates a flowchart of a method performed by a main program,according to one embodiment of the invention. This method may be used,for example, in conjunction with a search engine. Before the method ofFIG. 5 begins, a user enters a query into a search engine. The query maycontain various search terms and expressions.

The search engine then generates a set of results, typically a list ofdocuments. Each result represents a reference to a document that isrelevant to the query. A document can be relevant to a query because,for example, its contents directly “match” the query terms (e.g., usinga textual match). Alternatively, a document can be relevant because itscontents are conceptually, semantically, or topically related to thequery terms. Similarly, a document can be relevant becausemeta-information associated with the document (e.g., the document'sauthor or publication date) satisfy the query. The particular way inwhich the search engine determines relevant documents is not material tothe invention, which may be used with any type of search engine.

When a user selects one of the search results (e.g., by clicking on alink of the document's name), the search engine determines a portion ofthe document that is relevant to the query (a ROI). The search enginealso determines where query terms appear in the document, if at all.This process is known to those of ordinary skill in the art. Mainprogram module 400 then begins 500.

Steps 510 and 520 may occur in any order, including simultaneously. Mainprogram module 400 generates 510 distorted image portion 220. Distortedimage portion 220 is, for example, a page of the selected document thatcontains the user's ROI. In one embodiment, distorted image portion 220is not modified based on the user's query. In this embodiment, mainprogram module 400 uses a distorted image of the selected page 100B asdistorted image portion 220. There are several ways to obtain distortedimage 100B. A few of these ways are described below.

In one embodiment, main program module 400 retrieves distorted image100B from document and image repository module 440 if image 100B exists.

In another embodiment, if image 100B does not exist, main program module400 retrieves an undistorted image of the selected page 100A fromdocument and image repository module 440 if image 100A exists. If image100A does exist, main program module 400 distorts image 100A using imagedistortion/modification module 420, thereby generating image 100B. Inone embodiment, main program module 400 also stores image 100B indocument and image repository module 440 for later use.

In yet another embodiment, if image 100A does not exist, main programmodule 400 retrieves the selected document from document and imagerepository module 440. Main program module 400 then generates an imagefrom the document using document-to-image conversion module 410. In oneembodiment, main program module 400 uses document-to-image conversionmodule 410 to generate distorted image 100B. In one embodiment, mainprogram module 400 also stores image 100B in document and imagerepository module 440 for later use.

In another embodiment, main program module 400 uses document-to-imageconversion module 410 to generate undistorted image 100A. In oneembodiment, main program module 400 stores image 100A in document andimage repository module 440 for later use. Main program module 400 thendistorts image 100A using image distortion/modification module 420,thereby generating image 100B. In one embodiment, main program module400 also stores image 100B in document and image repository module 440for later use.

In another embodiment, distorted image portion 220 is modified based onthe user's query. In this embodiment, main program module 400 obtainsdistorted image 100B as described above. Then, main program module 400uses image distortion/modification module 420 to modify image 100B basedon the user's query. This modified image is then used as distorted imageportion 220.

Main program module 400 generates 520 undistorted image portion 210.Undistorted image portion 210 is, for example, the user's ROI. In oneembodiment, undistorted image portion 210 is not modified based on theuser's query. In this embodiment, main program module 400 obtains anundistorted image of the selected page 100A and then crops this image toshow the user's ROI. The cropped image is then used as undistorted imageportion 210. There are several ways to obtain undistorted image 100A. Afew of these ways are described below.

In one embodiment, main program module 400 retrieves undistorted image100A from document and image repository module 440 if image 100A exists.

In another embodiment, if image 100A does not exist, main program module400 retrieves the selected document from document and image repositorymodule 440. Main program module 400 then uses document-to-imageconversion module 410 to generate, from the document, undistorted image100A. In one embodiment, main program module 400 also stores image 100Ain document and image repository module 440 for later use.

In another embodiment, undistorted image portion 210 is modified basedon the user's query. In this embodiment, main program module 400 obtainsundistorted image 100A as described above. Then, main program module 400uses image distortion/modification module 420 to modify image 100A basedon the user's query. This modified image is then cropped and used asundistorted image portion 210.

Finally, main program module 400 uses image generation module 430 togenerate combined image 200 using undistorted image portion 210 anddistorted image portion 220. Main program module 400 then ends 540, andcombined image 200 is displayed to the user.

Additional Embodiments

In one embodiment, more than one computing device 300 is used, such asin a client-server setting. For example, a user may input a query into asearch engine using a first computing device 300A (the “client”). Thefirst computing device 300A will then use the network controller 380A tosend the query to a second computing device 300B (the “server”). Thesecond computing device 300B will perform the search and then send thesearch results to the first computing device 300A using the networkcontroller 380B.

The user will then select a document to display, and the first computingdevice 300A will send the user's selection to either the secondcomputing device 300B or a third computing device 300C (another“server”).

In a preferred embodiment, second computing device 300B or thirdcomputing device 300C will then generate combined image 200 byperforming the method of FIG. 5 and send combined image 200 to the firstcomputing device 300A. First computing device 300A then displayscombined image 200 to the user using display 350. In this embodiment,the first computing device 300A never contains a complete copy of eitherthe underlying electronic document or an undistorted image of theunderlying electronic document.

In an alternate embodiment, second computing device 300B or thirdcomputing device 300C sends to the first computing device 300A therequested electronic document, an undistorted image 100A of theelectronic document, and/or a distorted image 100B of the electronicdocument. First computing device 300A then generates combined image 200by performing the method of FIG. 5 and displays combined image 200 tothe user using display 350.

In the above description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthe invention. It will be apparent, however, to one skilled in the artthat the invention can be practiced without these specific details. Inother instances, structures and devices are shown in block diagram formin order to avoid obscuring the invention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

Some portions of the detailed description are presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the discussion, it isappreciated that throughout the description, discussions utilizing termssuch as “processing” or “computing” or “calculating” or “determining” or“displaying” or the like, refer to the action and processes of acomputer system, or similar electronic computing device, thatmanipulates and transforms data represented as physical (electronic)quantities within the computer system's registers and memories intoother data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage,transmission or display devices.

The present invention also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but is not limited to, any type ofdisk including floppy disks, optical disks, CD-ROMs, andmagnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any typeof media suitable for storing electronic instructions, and each coupledto a computer system bus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general-purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatuses to perform the required method steps. The required structurefor a variety of these systems appears from the description. Inaddition, the present invention is not described with reference to anyparticular programming language. It will be appreciated that a varietyof programming languages may be used to implement the teachings of theinvention as described herein.

The present invention provides various mechanisms for automaticallypresenting an analysis report for a prospective trade or othertransaction, with a minimum of user effort. One skilled in the art willrecognize that the particular examples described herein are merelyillustrative of representative embodiments of the invention, and thatother arrangements, methods, architectures, and configurations may beimplemented without departing from the essential characteristics of theinvention. Accordingly, the disclosure of the present invention isintended to be illustrative, but not limiting, of the scope of theinvention, which is set forth in the following claims.

1. A computer-implemented method for generating an image of a document,the method comprising: determining a first image, the first imagecomprising a less distorted representation of a region of interest, theregion of interest comprising a first portion of the document, the firstportion being relevant to a search query; determining a second image,the second image comprising a more distorted representation of thedocument, the document comprising the first portion and a second portionthat is not relevant to the search query; and responsive to determiningthe first image and determining the second image, using a processor toautomatically generate a composite image using the first image and thesecond image.
 2. The method of claim 1, wherein the document comprises apage of a larger document.
 3. The method of claim 1, wherein thedocument comprises an area of a larger document.
 4. The method of claim1, wherein determining the first image comprises: generating anundistorted image of the document; and cropping the undistorted image.5. The method of claim 4, wherein generating the undistorted image ofthe document comprises obtaining the undistorted image from a documentrepository.
 6. The method of claim 4, wherein generating the undistortedimage of the document comprises generating the undistorted image from anelectronic document.
 7. The method of claim 1, wherein determining thesecond image comprises obtaining the second image from a documentrepository.
 8. The method of claim 1, wherein determining the secondimage comprises: generating an undistorted image of the document; anddistorting the undistorted image.
 9. The method of claim 1, furthercomprising modifying, responsive to the search query, one of the firstimage and the second image.
 10. The method of claim 9, whereinmodifying, responsive to the search query, one of the first image andthe second image comprises one of underlining, outlining, andhighlighting a search term in one of the first image and the secondimage.
 11. The method of claim 1, wherein generating the composite imageusing the first image and the second image comprises generating acomposite image of the first image overlaid on the second image.
 12. Themethod of claim 11, wherein generating the composite image of the firstimage overlaid on the second image comprises outlining the first image.13. The method of claim 11, wherein generating the composite image ofthe first image overlaid on the second image comprises modifying one ofa font color and a background color of the first image.
 14. The methodof claim 1, wherein generating the composite image using the first imageand the second image comprises generating an image, the image comprisingthe first image, the second image, and a callout indicating the firstimage and the second image.
 15. A system for generating an image of adocument, the system comprising: a processor configured to perform amethod, the method comprising: determining a first image, the firstimage comprising a representation of a region of interest, the region ofinterest comprising a first portion of the document, the first portionbeing relevant to a search query; determining a second image, the secondimage comprising a distorted representation of the document, thedocument comprising the first portion and a second portion that is notrelevant to the search query; and responsive to determining the firstimage and determining the second image, automatically generating acomposite image using the first image and the second image.
 16. Thesystem of claim 15, wherein the document comprises a page of a largerdocument.
 17. The system of claim 15, wherein the document comprises anarea of a larger document.
 18. The system of claim 15, whereindetermining the first image comprises: generating an undistorted imageof the document; and cropping the undistorted image.
 19. The system ofclaim 18, wherein generating the undistorted image of the documentcomprises obtaining the undistorted image from a document repository.20. The system of claim 18, wherein generating the undistorted image ofthe document comprises generating the undistorted image from anelectronic document.
 21. The system of claim 15, wherein determining thesecond image comprises obtaining the second image from a documentrepository.
 22. The system of claim 15, wherein determining the secondimage comprises: generating an undistorted image of the document; anddistorting the undistorted image.
 23. The system of claim 15, whereinthe method further comprises modifying, responsive to the search query,one of the first image and the second image.
 24. The system of claim 23,wherein modifying, responsive to the search query, one of the firstimage and the second image comprises performing one of underlining,outlining, and highlighting a search term in one of the first image andthe second image.
 25. The system of claim 15, wherein generating thecomposite image using the first image and the second image comprisesgenerating a composite image of the first image overlaid on the secondimage.
 26. The system of claim 25, wherein generating the compositeimage of the first image overlaid on the second image comprisesoutlining the first image.
 27. The system of claim 25, whereingenerating the composite image of the first image overlaid on the secondimage comprises modifying one of a font color and a background color ofthe first image.
 28. The system of claim 15, wherein generating thecomposite image using the first image and the second image comprisesgenerating an image, the image comprising the first image, the secondimage, and a callout indicating the first image and the second image.29. A computer readable medium containing a computer program product forgenerating an image of a document, the computer program productcomprising program code for: determining a first image, the first imagecomprising a representation of a region of interest, the region ofinterest comprising a first portion of the document, the first portionbeing relevant to a search query; determining a second image, the secondimage comprising a distorted representation of the document, thedocument comprising the first portion and a second portion that is notrelevant to the search query; and responsive to determining the firstimage and determining the second image, automatically generating acomposite image using the first image and the second image.
 30. Acomputer-implemented method for generating an image of a document, themethod comprising: determining a first image, the first image comprisinga representation of a region of interest, the region of interestcomprising a first portion of the document, the first portion beingrelevant to a search query; determining a second image, the second imagecomprising a representation of the document, wherein the representationof the document is more distorted than the representation of the regionof interest, and wherein the document comprises the first portion and asecond portion that is not relevant to the search query; and responsiveto determining the first image and determining the second image, using aprocessor to automatically generate a composite image using the firstimage and the second image.
 31. The method of claim 30, wherein thedocument comprises a page of a larger document.
 32. The method of claim30, wherein the document comprises an area of a larger document.
 33. Themethod of claim 30, farther comprising modifying, responsive to thesearch query, one of the first image and the second image.
 34. Acomputer-implemented method for generating an image of a document, themethod comprising: determining a first image, the first image comprisinga representation of a region of interest, the region of interestcomprising a first portion of the document, the first portion beingrelevant to a search query; determining a second image, the second imagecomprising a distorted representation of the document, the documentcomprising the first portion and a second portion that is not relevantto the search query; and using a processor to generate a composite imagecomprising the first image overlaid onto the second image such that thefirst image obscures only a portion of the second image that correspondsto the region of interest.
 35. The method of claim 34, whereingenerating the composite image comprising the first image overlaid ontothe second image comprises outlining the first image.
 36. The method ofclaim 34, wherein generating the composite image comprising the firstimage overlaid onto the second image comprises modifying one of a fontcolor and a background color of the first image.
 37. The method of claim34, wherein the document comprises a page of a larger document.
 38. Themethod of claim 34, wherein the document comprises an area of a largerdocument.
 39. The method of claim 34, further comprising modifying,responsive to the search query, one of the first image and the secondimage.
 40. A computer-implemented method for generating an image of adocument, the method comprising: determining a first image, the firstimage comprising a representation of a region of interest, the region ofinterest comprising a first portion of the document, the first portionbeing relevant to a search query; determining a second image, the secondimage comprising a representation of the document, wherein therepresentation of the document is more distorted than the representationof the region of interest, and wherein the document comprises the firstportion and a second portion that is not relevant to the search query;and using a processor to generate a composite image comprising the firstimage overlaid onto the second image such that the first image obscuresonly a portion of the second image that corresponds to the region ofinterest.
 41. The method of claim 40, wherein generating the compositeimage comprising the first image and the second image comprisesgenerating a composite image of the first image overlaid on the secondimage.
 42. The method of claim 40, wherein generating the compositeimage of the first image overlaid on the second image comprisesoutlining the first image.
 43. The method of claim 40, whereingenerating the composite image of the first image overlaid on the secondimage comprises modifying one of a font color and a background color ofthe first image.
 44. The method of claim 40, wherein the documentcomprises a page of a larger document.
 45. The method of claim 40,wherein the document comprises an area of a larger document.
 46. Themethod of claim 40, further comprising modifying, responsive to thesearch query, one of the first image and the second image.
 47. Acomputer-implemented method for generating an image of a document, themethod comprising: determining a first image, the first image comprisinga representation of a region of interest, the region of interestcomprising a first portion of the document, the first portion beingrelevant to a search query; determining a second image, the second imagecomprising a distorted representation of the document, the documentcomprising the first portion and a second portion that is not relevantto the search query; and using a processor to generate a composite imagecomprising the first image and the second image arranged in such a waythat the first image is proximate to the second image.
 48. The method ofclaim 47, wherein the composite image further comprises a calloutindicating the first image and the second image.
 49. The method of claim47, wherein the document comprises a page of a larger document.
 50. Themethod of claim 47, wherein the document comprises an area of a largerdocument.
 51. The method of claim 47, further comprising modifying,responsive to the search query, one of the first image and the secondimage.
 52. A computer-implemented method for generating an image of adocument, the method comprising: determining a first image, the firstimage comprising a representation of a region of interest, the region ofinterest comprising a first portion of the document, the first portionbeing relevant to a search query; determining a second image, the secondimage comprising a representation of the document, wherein therepresentation of the document is more distorted than the representationof the region of interest, and wherein the document comprises the firstportion and a second portion that is not relevant to the search query;and using a processor to generate a composite image comprising the firstimage and the second image arranged in such a way that the first imageis proximate to the second image.
 53. The method of claim 52, whereinthe composite image further comprises a callout indicating the firstimage and the second image.
 54. The method of claim 52, wherein thedocument comprises a page of a larger document.
 55. The method of claim52, wherein the document comprises an area of a larger document.
 56. Themethod of claim 52, further comprising modifying, responsive to thesearch query, one of the first image and the second image.